package com.atguigu.pojo;

public class TicketSync {
    //定义票数
    private int num = 50;

    //定义判断当前是否还有票的方法
    public boolean determine(){
        if(num<=0){
            return false;
        }else{
            return true;
        }
    }

    //定义卖票的方法
    //使用synchronized锁解决争抢资源的问题
    public synchronized void sale(){
        if(!determine()){
            System.out.println(Thread.currentThread().getName()+ "票已卖完");
            return;
        }
        try {
            System.out.println(Thread.currentThread().getName()+"开始卖票，当前票数："+ num-- +",剩余票数："+num);
            Thread.sleep(50);
        } catch (InterruptedException e) {
            throw new RuntimeException(e);
        }
    }
}
